Red Hat System Administration II 8.2

Глава 7. Управление логическими томами

Аннотация

Цель Создание логических томов с файловыми системами и областями подкачки из командной строки и управление ими
Задачи
  • Создание логических томов из запоминающих устройств и управление ими; форматирование логических томов под файловые системы или подготовка на них областей подкачки

  • Добавление и удаление хранилища, назначенного группам томов; увеличение размера логического тома, отформатированного под файловую систему, без нарушения его структуры

Разделы
  • Создание логических томов (и упражнение)

  • Расширение логических томов (и упражнение)

Лабораторная работа

Управление логическими томами

Создание логических томов

Задачи

После завершения этого раздела вы сможете:

  • описать компоненты и концепции системы управления логическими томами (LVM);

  • создать хранилище LVM;

  • отобразить сведения о компонентах LVM.

Концепции системы управления логическими томами (LVM)

Логические тома и система управления логическими томами упрощают процессы, связанные с использованием дискового пространства. Если файловой системе с логическим томом потребуется дополнительный объем, можно добавить его в логический том из свободного пространства в соответствующей группе томов, а затем изменить размер файловой системы. Если возникнут проблемы с диском, можно зарегистрировать запасной диск в качестве физического тома в группе томов и перенести экстенты логического тома на новый диск.

Определения системы управления логическими томами (LVM)

Физические устройства

Физические устройства — это запоминающие устройства, которые используются для хранения данных логического тома. Это могут быть блочные устройства, разделы диска, целые диски, массивы RAID или диски SAN. Устройство должно быть инициализировано как физический том системы LVM, чтобы его можно было использовать с этой системой. Все устройство будет использоваться как физический том.

Физические тома

Физические тома — это базовое «физическое» хранилище, используемое с LVM. Необходимо инициализировать устройство как физический том, прежде чем использовать его в системе LVM. Утилиты LVM сегментируют физические тома на физические экстенты — небольшие фрагменты данных, которые выступают в роли наименьших блоков хранения в физическом томе.

Группы томов

Группы томов — это пулы хранения данных, включающие один или несколько физических томов. Это функциональный эквивалент целого диска в базовом хранилище. Физический том может входить только в одну группу томов. Группа томов может состоять из неиспользованного пространства и любого количества логических томов.

Логические тома

Логические тома создаются из свободных физических экстентов в группе томов и представляют собой устройства хранения, которые используются приложениями, пользователями и операционной системой. Логические тома представляют собой набор логических экстентов, которые сопоставляются с физическими экстентами — наименьшими блоками хранения в физическом томе. По умолчанию каждый логический экстент сопоставляется с одним физическим, но это можно изменить. Например, при зеркалировании каждый логический экстент сопоставляется с двумя физическими.

Создание хранилища LVM

Процедура создания хранилища LVM состоит из нескольких шагов. Первый шаг — определить, какие физические устройства будут использоваться. Выбранные устройства инициализируются как физические тома и распознаются как часть системы управления логическими томами (LVM). Затем физические тома объединяются в группу томов. Создается пул дискового пространства, из которого могут быть выделены логические тома. Логические тома, созданные из доступного пространства в группе томов, могут быть отформатированы под файловую систему, активированы как область подкачки и смонтированы или активированы на постоянной основе.

Рисунок 7.1: Компоненты системы управления логическими томами

Система управления логическими томами (LVM) предлагает широкий набор утилит командной строки для создания хранилища LVM и управления им. Эти утилиты командной строки можно использовать в сценариях, поэтому они подходят для автоматизации.

Важно

В следующих примерах используется устройство vdb и его разделы для демонстрации команд LVM. На практике потребуется использовать правильные устройства для диска и его разделов, которые используются системой. Используйте команды lsblk, blkid и cat /proc/partitions для идентификации устройств в своей системе.

Создание логического тома

Процедура создания логического тома состоит из следующих шагов.

Подготовка физического устройства

Используйте команду parted, gdisk или fdisk, чтобы создать новый раздел для работы с LVM. Всегда задавайте для разделов LVM тип Linux LVM. Используйте 0x8e для разделов MBR. При необходимости используйте команду partprobe, чтобы зарегистрировать новый раздел в ядре.

Также можно использовать целый диск, массив RAID или диск SAN.

Подготавливать физическое устройство необходимо, только если нет уже готовых устройств и требуется новый физический том, чтобы создать или расширить группу томов.

[root@host ~]# parted -s /dev/vdb mkpart primary 1MiB 769MiB
[root@host ~]# parted -s /dev/vdb mkpart primary 770MiB 1026MiB
[root@host ~]# parted -s /dev/vdb set 1 lvm on
[root@host ~]# parted -s /dev/vdb set 2 lvm on

Создание физического тома

Используйте команду pvcreate, чтобы инициализировать раздел (или другое физическое устройство) как физический том. Команда pvcreate делит физический том на физические экстенты фиксированного размера, например на блоки по 4 МиБ. Чтобы пометить несколько устройств одновременно, передайте их имена как аргументы в команду pvcreate, используя пробел в качестве разделителя.

[root@host ~]# pvcreate /dev/vdb2 /dev/vdb1

Устройства /dev/vdb2 и /dev/vdb1 будут помечены как физические тома, готовые для распределения в группу томов.

Создавать физический том необходимо, только если нет свободных физических томов для создания или расширения группы томов.

Создание группы томов

Используйте команду vgcreate, чтобы создать группу томов из одного или нескольких физических томов. Группа томов — это функциональный эквивалент жесткого диска. Вы создаете логические тома из пула свободных физических экстентов в группе томов.

Командная строка vgcreate состоит из имени группы томов, за которым следует один или несколько физических томов, которые необходимо добавить в эту группу томов.

[root@host ~]# vgcreate vg01 /dev/vdb2 /dev/vdb1

Будет создана группа томов vg01, общий размер которой (в физических экстентах) равен сумме размеров двух физических томов (/dev/vdb2 и /dev/vdb1).

Группу томов нужно создавать, только если она еще не существует. Можно создать дополнительные группы томов для управления использованием физических и логических томов. Кроме того, при необходимости можно расширить существующие группы томов, добавив новые логические тома.

Создание логического тома

Используйте команду lvcreate, чтобы создать новый логический том из доступных физических экстентов в группе томов. Команда lvcreate включает как минимум следующее: опцию -n для указания имени логического тома, опцию -L для указания размера логического тома в байтах или -l для указания размера в логических экстентах, а также имя группы томов, в которой находится этот логический том.

[root@host ~]# lvcreate -n lv01 -L 700M vg01

В группе томов vg01 будет создан логический том с именем lv01 и размером 700 МиБ. Команда не будет выполнена, если в группе томов недостаточно свободных физических экстентов для запрошенного размера. Имейте в виду, что, если размер нельзя сопоставить точно, он будет округлен кратно размеру физического экстента.

Задать размер можно с помощью опции -L. Она принимает размер в байтах, мебибайтах (двоичных мегабайтах), гибибайтах (двоичных гигабайтах) и т. д. (1 мебибайт равен 1 048 576 байт.) Кроме того, можно использовать опцию -l, которая принимает размеры в физических экстентах.

Далее приведены некоторые примеры создания логических томов.

  • lvcreate -L 128M: создание логического тома размером 128 МиБ.

  • lvcreate -l 128 : создание логического тома размером 128 экстентов. Общее количество байтов зависит от размера физического экстента в базовом физическом томе.

Важно

Разные утилиты отображают имя логического тома либо как обычное имя (/dev/vgname/lvname), либо как имя модуля сопоставления устройств ядра (/dev/mapper/vgname-lvname).

Добавление файловой системы

Используйте команду mkfs, чтобы создать файловую систему XFS в новом логическом томе. Вы также можете создать любую другую файловую систему, например ext4.

[root@host ~]# mkfs -t xfs /dev/vg01/lv01

Чтобы файловая система оставалась доступной после перезагрузок системы, выполните следующие действия.

  • С помощью команды mkdir создайте точку монтирования.

    [root@host ~]# mkdir /mnt/data
  • Добавьте запись в файл /etc/fstab.

    /dev/vg01/lv01  /mnt/data xfs  defaults 1 2

    Примечание

    Монтирование логического тома по имени эквивалентно монтированию по UUID, поскольку LVM находит физические тома по UUID, даже если вы изначально добавили их в группу томов по имени.

  • Выполните команду mount /mnt/data, чтобы смонтировать файловую систему, которую вы только что добавили в /etc/fstab.

    [root@host ~]# mount /mnt/data

Удаление логического тома

Процедура удаления всех компонентов логического тома состоит из следующих шагов.

Подготовка файловой системы

Переместите все данные, которые необходимо сохранить, в другую файловую систему. С помощью команды umount размонтируйте файловую систему, а затем удалите все записи /etc/fstab, связанные с этой файловой системой.

[root@host ~]# umount /mnt/data

Предупреждение

При удалении логического тома удаляются все хранящиеся в нем данные. Прежде чем удалять логический том, создайте резервную копию данных или переместите их.

Удаление логического тома

С помощью команды lvremove ИМЯ_УСТРОЙСТВА удалите ненужный логический том.

[root@host ~]# lvremove /dev/vg01/lv01

Прежде чем выполнять эту команду, размонтируйте файловую систему логического тома. Команда запрашивает подтверждение перед удалением логического тома.

Физические экстенты логического тома высвобождаются и становятся доступны для назначения в существующие или новые логические тома в группе томов.

Удаление группы томов

С помощью команды vgremove ИМЯ_ГТ удалите ненужную группу томов.

[root@host ~]# vgremove vg01

Физические тома группы томов высвобождаются и становятся доступны для назначения в существующие или новые группы томов в системе.

Удаление физических томов

С помощью команды pvremove удалите ненужные физические тома. Чтобы удалить одновременно несколько устройств физического тома, введите их имена через пробел. Это команда удаляет метаданные физического тома с раздела (или диска). Раздел становится свободным для повторного назначения или форматирования.

[root@host ~]# pvremove /dev/vdb2 /dev/vdb1

Просмотр сведений о состоянии LVM

Физические тома

Используйте команду pvdisplay для отображения сведений о физических томах. Чтобы отобразить сведения обо всех физических томах, используйте команду без аргументов. Чтобы отобразить сведения о конкретном физическом томе, передайте в команду имя устройства.

[root@host ~]# pvdisplay /dev/vdb1
  --- Physical volume ---
  PV Name               /dev/vdb1                        1
  VG Name               vg01                             2
  PV Size               768.00 MiB / not usable 4.00 MiB 3
  Allocatable           yes
  PE Size               4.00 MiB                         4
  Total PE              191
  Free PE               16                               5
  Allocated PE          175
  PV UUID               JWzDpn-LG3e-n2oi-9Etd-VT2H-PMem-1ZXwP1

1

PV Name соответствует имени устройства.

2

VG Name показывает группу томов, в которую распределен физический том.

3

PV Size показывает физический размер физического тома, включая неиспользуемое пространство.

4

PE Size показывает размер физического экстента (наименьший размер, который может быть распределен в логический том).

Это также множитель при расчете размера любого значения, указанного в физических экстентах, такого как Free PE. Пример: 26 физических экстентов по 4 МиБ (PE Size) ― это 104 МиБ свободного пространства. Размер логического тома округляется до размера, кратного размеру физического экстента.

LVM задает размер физического экстента автоматически, однако его можно указать.

5

Free PE показывает количество физических экстентов, доступных для распределения в новые логические тома.

Группы томов

Используйте команду vgdisplay для отображения сведений о группах томов. Чтобы отобразить сведения обо всех группах томов, используйте команду без аргументов. Чтобы отобразить сведения о конкретной группе томов, передайте в команду имя группы.

[root@host ~]# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01             1
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1016.00 MiB      2
  PE Size               4.00 MiB
  Total PE              254              3
  Alloc PE / Size       175 / 700.00 MiB
  Free  PE / Size       79 / 316.00 MiB  4
  VG UUID               3snNw3-CF71-CcYG-Llk1-p6EY-rHEv-xfUSez

1

VG Name — это имя группы томов.

2

VG Size — это общий размер пула хранения, доступного для распределения в логические тома.

3

Total PE — это общий размер, выраженный в физических экстентах.

4

Free PE / Size показывает, сколько пространства свободно в группе томов для распределения в новые логические тома или расширения существующих логических томов.

Логические тома

Используйте команду lvdisplay для отображения сведений о логических томах. Если в команде не указать аргументы, будут показаны сведения обо всех логических томах. Если в качестве аргумента указать имя устройства логического тома, будут показаны сведения только об этом устройстве.

[root@host ~]# lvdisplay /dev/vg01/lv01
  --- Logical volume ---
  LV Path                /dev/vg01/lv01         1
  LV Name                lv01
  VG Name                vg01                   2
  LV UUID                5IyRea-W8Zw-xLHk-3h2a-IuVN-YaeZ-i3IRrN
  LV Write Access        read/write
  LV Creation host, time host.lab.example.com, 2019-03-28 17:17:47 -0400
  LV Status              available
  # open                 1
  LV Size                700 MiB                3
  Current LE             175                    4
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - current set to       256
  Block device           252:0

1

LV Path показывает имя устройства логического тома.

Некоторые утилиты могут отображать имя устройства в виде /dev/mapper/vgname-lvname. Это тот же логический том.

2

VG Name показывает группу томов, которой принадлежит логический том.

3

LV Size показывает общий размер логического тома. Используйте утилиты файловой системы для определения свободного пространства и пространства, занятого под данные.

4

Current LE показывает количество логических экстентов, используемых этим логическим томом. Логический экстент обычно сопоставляется с физическим экстентом в группе томов и, следовательно, с физическим томом.

Ссылки

Man-страницы lvm(8), pvcreate(8), vgcreate(8), lvcreate(8), pvremove(8), vgremove(8), lvremove(8), pvdisplay(8), vgdisplay(8), lvdisplay(8), fdisk(8), gdisk(8), parted(8), partprobe(8) и mkfs(8)